package es.jclm.agri.foragri.services;

import java.util.List;

import es.jclm.agri.foragri.domain.Hotel;
import es.jclm.agri.foragri.model.Empleado;
import es.jclm.agri.foragri.model.SearchCriteria;


public interface EmpleadoService {

	public void createEmpleado(Empleado empleado);
	
	public void updateEmpleado(Empleado empleado);
	
	public void deleteEmpleado(Empleado empleado);
	
	public Empleado findEmpleado(Long empleadoId);

	public List<Empleado> listAll();
	
    /**
     * Find empleados available for booking by some criteria.
     * @param criteria the search criteria
     * @param firstResult the index of the first result to return
     * @param sortBy the field to sort by
     * @param ascending true if the sorting should be in ascending order, false for descending
     * @return a list of empleados meeting the criteria
     */
    public List<Empleado> findEmpleados(SearchCriteria criteria, int firstResult, String sortBy, boolean ascending);
	
	public int getNumberOfEmpleados(SearchCriteria criteria);
}
